using Tutorial;

namespace XLua.CSObjectWrap
{
	public class XLua_Gen_Initer_Register__
	{
		private static void wrapInit0(LuaEnv luaenv, ObjectTranslator translator)
		{
			translator.DelayWrapLoader(typeof(BaseClass), TutorialBaseClassWrap.__Register);
			translator.DelayWrapLoader(typeof(TestEnum), TutorialTestEnumWrap.__Register);
			translator.DelayWrapLoader(typeof(DerivedClass), TutorialDerivedClassWrap.__Register);
			translator.DelayWrapLoader(typeof(DerivedClass.TestEnumInner), TutorialDerivedClassTestEnumInnerWrap.__Register);
			translator.DelayWrapLoader(typeof(ICalc), TutorialICalcWrap.__Register);
			translator.DelayWrapLoader(typeof(DerivedClassExtensions), TutorialDerivedClassExtensionsWrap.__Register);
		}

		private static void Init(LuaEnv luaenv, ObjectTranslator translator)
		{
			wrapInit0(luaenv, translator);
			translator.AddInterfaceBridgeCreator(typeof(CSCallLua.ItfD), CSCallLuaItfDBridge.__Create);
		}

		static XLua_Gen_Initer_Register__()
		{
			LuaEnv.AddIniter(Init);
		}
	}
}
